package com.example.ai.inventory.repository;

import com.example.ai.inventory.entity.Product;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

/**
 * 商品数据访问接口
 */
@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
    
    /**
     * 根据商品编码查询商品
     */
    Optional<Product> findByCode(String code);
    
    /**
     * 根据分类ID查询商品
     */
    List<Product> findByCategoryId(Long categoryId);
    
    /**
     * 根据商品名称模糊查询
     */
    List<Product> findByNameContaining(String name);
    
    /**
     * 根据商品编码和分类ID查询商品
     */
    Optional<Product> findByCodeAndCategoryId(String code, Long categoryId);
}